﻿namespace OpenCompiler.AST
{
	public static class ModifierState
	{
		public static bool IsPublic { get; set; }
		public static bool IsPrivate { get; set; }
		public static bool IsAbstract { get; set; }
		public static bool IsVirtual { get; set; }
		public static bool IsStatic { get; set; }
		public static bool IsInternal { get; set; }
		public static bool IsProtected { get; set; }
		public static bool IsReadonly { get; set; }
		public static bool IsVolatile { get; set; }
		public static bool IsUnsafe { get; set; }
		public static bool IsPartial { get; set; }
		public static bool IsSealed { get; set; }
		public static bool IsOverride { get; set; }

		public static void Reset()
		{
			IsPublic = false;
			IsPrivate = true;
			IsAbstract = false;
			IsVirtual = false;
			IsStatic = false;
			IsInternal = false;
			IsProtected = false;
			IsReadonly = false;
			IsVolatile = false;
			IsUnsafe = false;
			IsPartial = false;
			IsSealed = false;
			IsOverride = false;
		}
	}
}